package com.zhiche.lisa.bms.service.sta;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zhiche.lisa.bms.dao.model.sta.StaPrice;
import com.zhiche.lisa.bms.pojo.vo.sta.StaPriceAndQuoteDtlVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 标准价同步表 服务类
 * </p>
 *
 * @author liuanshun
 * @since 2018-10-23
 */
public interface StaPriceService extends IService<StaPrice> {
	/**
	 * 查询标准价同步分页数据
	 *
	 * @param pageParam
	 * @return
	 */
	Page<StaPrice> selectStaPricePage(Page<StaPrice> pageParam);

	/**
	 * 获取标准价同步数据中的全部车型
	 *
	 * @return
	 */
	List<Object> selectAllStaPriceTransportNodeGid();

	/**
	 * 根据指定字段类型获取所有该类型对应列的值
	 *
	 * @param type
	 * @return
	 */
	List<Object> selectAllProperty(String type);

	/**
	 * 获取标准价同步数据中的起运地
	 *
	 * @return
	 */
	List<Object> selectAllStaPriceStartLoctionName();

	/**
	 * 查询标准价同步数据
	 *
	 * @param condition
	 * @return
	 */
	List<StaPrice> selectStaPriceList(Map<String, Object> condition);

	/**
	 * 根据属性值寻找批量匹配标准价同步数据
	 *
	 * @param staPriceItemProperty
	 * @return
	 */
	List<StaPrice> selectStaPriceListByProperty(List<StaPrice> staPriceItemProperty);

	/**
	 * 根据属性值寻找批量匹配标准价同步数据
	 *
	 * @param staPriceItemProperty
	 * @return
	 */
	List<StaPriceAndQuoteDtlVO> selectStaPriceVOListByProperty(List<StaPriceAndQuoteDtlVO> staPriceItemProperty,Map<String,Object> condition);

	/**
	 * 根据属性值寻找匹配标准价同步数据
	 *
	 * @param staPriceProperty
	 * @param addCondition
	 * @return
	 */
	StaPrice selectStaPriceByProperty(StaPrice staPriceProperty, Map<String, Object> addCondition);
}
